package org.example.IO;

import java.io.File;
import java.io.IOException;

/**
 * @className: Demo1
 * @author: 芃
 * @description: 文件基本概念和操作
 * @date: 2024/5/6 14:26
 */
public class Demo1 {
    //绝对路径：是以C: D: 盘符开头的，这种路径称为“绝对路径”
    //相对路径：需要先指定一个目录，作为基准目录，从基准目录触发，看看沿着啥样的路线能够找到指定文件，此时涉及到的路径就是“相对路径”，往往是以.或者..开头的。

    //文件类型
    //从编程的角度看，分两类：
    //1. 文本文件：包括.txt .java .c .cpp .h .py 等（文件中保存的数据，都是字符串，保存的内容都是合法的字符）
    //2. 二进制文件：包括.jpg .png .mp3 .mp4 .exe 等（文件中保存的数据，仅仅是二进制数据，不要求保存的内容是合法的字符）
    //合法的字符：编码/编码集
    //记事本打开，乱码-》二进制，不乱码-》文本

    public static void main(String[] args) throws IOException {
        File file = new File("D:\\My_Code\\Java_Code\\EE_And_System_New\\Test\\test.txt");
        System.out.println(file.exists());//文件是否存在
        System.out.println(file.getParent());//获取到文件的父目录
        System.out.println(file.getName());//获取文件名
        System.out.println(file.getAbsoluteFile());//获取到绝对路径
        System.out.println(file.getCanonicalFile());//获取到绝对路径
        System.out.println(file.getPath());//获取到文件路径（构建File的时候指定的路径）
        System.out.println("===================");
        File file1 = new File("..\\test.txt");
        System.out.println(file1.exists());//文件是否存在
        System.out.println(file1.getParent());//获取到文件的父目录
        System.out.println(file1.getName());//获取文件名
        System.out.println(file1.getAbsoluteFile());//获取到绝对路径
        System.out.println(file1.getCanonicalFile());//获取到绝对路径，得到的是化简过得绝对路径
        System.out.println(file1.getPath());//获取到文件路径（构建File的时候指定的路径）
    }
}
